#ifndef _ABSTRUCTFACTORY_H_
#define _ABSTRUCTFACTORY_H_
#include"abstructProduct.h"
class abstructFactory{
public:
    virtual ~abstructFactory();
    virtual abstructproductA* createProductA() = 0;
    virtual abstructproductB* createProductB() = 0;
protected:
    abstructFactory(/* args */);
private:
    /* data */
};

class concreteFactory1 : public  abstructFactory {
public:
    concreteFactory1();
    ~concreteFactory1();
    abstructproductA* createProductA();
    abstructproductB* createProductB();
protected:
private:
};

class concreteFactory2 : public  abstructFactory {
public:
    concreteFactory2();
    ~concreteFactory2();
    abstructproductA* createProductA();
    abstructproductB* createProductB();
protected:
private:
};





#endif